package com.itlong.cloud.miniprogram.service;

import com.itlong.cloud.POJO.PO.AppUserInfoPO;
import com.itlong.cloud.POJO.PO.FeedbackInfoPO;
import com.itlong.cloud.POJO.PO.WelinkBindRelationPO;
import com.itlong.cloud.POJO.VO.miniprogram.WelinkUserVO;

import java.io.IOException;

/**
 * <desc>
 *      welink 用户业务处理接口
 * </desc>
 *
 * @createDate 2020/03/19
 */
public interface IWelinkUserService {
    /**
     * <desc>
     *      用户登录
     * </desc>
     *
     * @param code
     * @return
     * @author Jiaqi.X
     * @createDate 2020/03/19
     */
    WelinkUserVO login(String code) throws IOException;

    /**
     * <desc>
     *      检测手机号是否已绑定welink
     * </desc>
     *
     * @param phoneNum
     * @return
     * @author Jiaqi.X
     * @createDate 2020/03/19
     */
    String checkBindPhone(String phoneNum);

    /**
     * <desc>
     *      保存绑定关系
     * </desc>
     *
     * @param welinkBindRelationPO
     * @return
     * @author Jiaqi.X
     * @createDate 2020/03/19
     */
    String save(WelinkBindRelationPO welinkBindRelationPO) throws Exception;

    /**
     * <desc>
     *      意见反馈
     * </desc>
     *
     * @param feedbackInfoPO
     * @return
     * @author Jiaqi.X
     * @createDate 2020/03/20
     */
    void saveFeedBack(FeedbackInfoPO feedbackInfoPO) throws Exception;

    /**
     * <desc>
     *      更新用户信息
     * </desc>
     *
     * @param appUserInfoPO
     * @return
     * @author Jiaqi.X
     * @createDate 2020/03/20
     */
    void updateUserInfo(AppUserInfoPO appUserInfoPO) throws Exception;

    /**
     * <desc>
     *      获取用户详情
     * </desc>
     *
     * @param userId
     * @return
     * @author jiaqi.X
     * @createDate 2020/01/23
     */
    WelinkUserVO getUserInfo(String userId);
}